class Moderador

  def initialize(criterio_de_insultos, analizador_fonetico)
    @criterio_de_insultos = criterio_de_insultos
    @analizador_fonetico = analizador_fonetico
  end

  def procesar(comentario)
    secuencias = @analizador_fonetico.posibles_secuencias_foneticas(comentario)

    insulto_encontrado = @criterio_de_insultos.insultos_conocidos.find { |insulto|
      secuencias.any? { |secuencia|
        secuencia.contiene_sonido? insulto.raiz
      }
    }

    if insulto_encontrado.nil? then
      ResultadoDeModeracionAprobada.new
    else
      ResultadoDeModeracionReprobada.new([insulto_encontrado])
    end

  end

end